﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace SCS.Core.Models.Collection
{
    public class PriceCollection
    {
        [Required(ErrorMessage = "Xin vui lòng nhập giá .")]
        [DisplayName("PriceValue")]
        //[RegularExpression(@"([-])*[0-9]{1,20}", ErrorMessage = "Giá tiền chưa đúng định dạng.")]
        public float PriceValue { get; set; }

        [Required(ErrorMessage = "Hãy chọn ngày bắt đầu cho giá của sản phẩm.")]
        [DisplayName("StartDate")]
        //[RegularExpression(@"(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))", ErrorMessage = "Ngày tháng chưa đúng định dạng.")]
        public DateTime? StartDate { get; set; }

        [Required(ErrorMessage = "Chọn ngày kết thúc cho giá của sản phẩm.")]
        [DisplayName("EndDate")]
        //[RegularExpression(@"(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))", ErrorMessage = "Ngày tháng chưa đúng định dạng.")]
        public DateTime? EndDate { get; set; }

        [DisplayName("Status")]
        public bool? Status { get; set; }

        [DisplayName("Notes")]
        [StringLength(200)]
        public string Notes { get; set; }

        [DisplayName("ProductID")]
        public int? ProductID { get; set; }

        [DisplayName("LanguagesID")]
        public int? LanguagesID { get; set; }

        [DisplayName("CurrencyID")]
        public int? CurrencyID { get; set; }

        [DisplayName("PriceID")]
        public int? PriceID { get; set; }
    }
}
